1990D - Grid Puzzle - CodeForces Solution


bitmasks dp greedy implementation math

Please click on ads to support us..

Python Code:

def solve():
    n = int(input())
    l = [int(x) for x in input().split()]
    l = [[1, i] for i in l]
    s = 0
    for i in range(n - 1):
        if l[i][1] == 0 or l[i][1]<l[i][0]:
            continue
        elif l[i][1] - l[i][0] >=2:
            s += 1
        else:
            if l[i][1]<l[i+1][1]:
                if l[i][1]<=2:
                    l[i+1][0]=3
                else:                    if l[i][1]==3:
                        if l[i+1][1]==4:
                            l[i+1][1]=2
            else:
                l[i + 1][1] = min(l[i][0]-1, l[i + 1][1])

            s += 1
    if l[n-1][1]<l[n-1][0]:
        s+=0
    else:
        s += 1

    print(s)


for w in range(int(input())):
    solve()


Comments

Submit
0 Comments
More Questions

1343C - Alternating Subsequence
1325A - EhAb AnD gCd
746A - Compote
318A - Even Odds
550B - Preparing Olympiad
939B - Hamster Farm
732A - Buy a Shovel
1220C - Substring Game in the Lesson
452A - Eevee
1647B - Madoka and the Elegant Gift
1408A - Circle Coloring
766B - Mahmoud and a Triangle
1618C - Paint the Array
469A - I Wanna Be the Guy
1294A - Collecting Coins
1227A - Math Problem
349A - Cinema Line
47A - Triangular numbers
1516B - AGAGA XOOORRR
1515A - Phoenix and Gold
1515B - Phoenix and Puzzle
155A - I_love_username
49A - Sleuth
1541A - Pretty Permutations
1632C - Strange Test
673A - Bear and Game
276A - Lunch Rush
1205A - Almost Equal
1020B - Badge
1353A - Most Unstable Array